# _*_ coding : utf-8 _*_
# @Time : 2025/11/3 14:22
# @Author : yjh
# @fileName : run_allcase.py


import os,pytest

def run_all():

    base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

    case_dir = os.path.join(base_dir,"cms_case")

    result_dir = os.path.join(base_dir,'report','allure-results')
    report_dir = os.path.join(base_dir,'report','allure-report')

    os.makedirs(result_dir,exist_ok=True)
    os.makedirs(report_dir,exist_ok=True)

    # Step1：运行 pytest 测试用例
    pytest_args = [
        case_dir,
        '--clean-alluredir',
        f'--alluredir={result_dir}',  # 输出 JSON 结果
        '-s', '-v'  # 显示详细信息
    ]

    pytest.main(pytest_args)

    # Step2：生成 Allure 报告 HTML 页面
    generate_cmd = f'allure generate {result_dir} -o {report_dir} --clean'
    os.system(generate_cmd)

    # Step3：打开报告页面（浏览器）
    open_cmd = f'allure open {report_dir}'
    os.system(open_cmd)


if __name__ == '__main__':
    run_all()



# import os
# import pytest
# def run_all():
#     # 获取项目根目录
#     base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
#     # 用例目录（cms_case 下所有 test_*.py 文件）
#     case_dir = os.path.join(base_dir, 'cms_case')
#
#     # Allure结果和报告目录
#     result_dir = os.path.join(base_dir, 'report', 'allure-results')
#     report_dir = os.path.join(base_dir, 'report', 'allure-report')
#     # 创建目录（如果不存在）
#     os.makedirs(result_dir, exist_ok=True)
#     os.makedirs(report_dir, exist_ok=True)
#     # Step 1：运行 pytest 并生成 allure JSON 结果
#     pytest_args = [
#         case_dir, # 用例目录
#         '--clean-alluredir',
#         f'--alluredir={result_dir}', # 输出 JSON 结果
#         '-s', '-v'  # 显示详细信息
#         ]
#     pytest.main(pytest_args)
#     # Step 2：生成 Allure 报告 HTML 页面
#     generate_cmd = f'allure generate {result_dir} -o {report_dir} --clean'
#     os.system(generate_cmd)
#     # Step 3：打开报告页面（浏览器）
#     open_cmd = f'allure open {report_dir}'
#     os.system(open_cmd)
#
# if __name__ == '__main__':
#     run_all()


